Programmable digital controllers are used to control a wide variety of equipment. Some equipment, such as combustion equipment, must be operated in accordance with certain safety protocols (or functions) in order to help ensure safe operation of the equipment. For example, an over-simplified safety protocol for an HVAC burner may include: verifying the presence of a pilot flame before opening the main gas valve of the burner; and once the main gas valve is opened, continually verifying the presence of the main flame in order to keep the main gas valve open. In this simplified example, it may be determined that if this safety protocol is not followed, the burner may not operate safely under all anticipated operating conditions. That is, it may be determined that if the main flame goes out and the main gas valve remains open, a potentially unsafe condition may exist in the form of un-combusted gas flowing into the appliance. A burner controller is often provided to perform these functions.
It is also sometimes desirable to provide some level of application specific programming in order to incorporate application specific control behaviors in the system. For example, and returning to the HVAC burner example above, it may be desirable for an installer or user to program temperature control algorithms for setting the modulation rate of the burner, program certain temperature set points based on building occupancy or a pre-programmed temperature schedule, etc. In many instances, a separate application controller is used to control the application specific programming.